Telegram Group & Telegram Channel
Python Hints
ابزار جدیدی از astral اومده به اسم uv جاگزینی خواهد بود برای pip, poetry, ... البته درحال حاضر خیلی خام هست ولی بطور خیره کننده‌ای سرعت بالایی داره حتما یک سری بهش بزنید. uv: Python packaging in Rust پ.ن: از cache یک سری پکیج هوش مصنوعی نصب کردم 0.35sec…
یکی از پروژه‌ها رو جابجا کردیم و اینطوری شد که:

بجای docker از podman استفاده بشه
بجای docker swarm, docker stack, ... هم از k8s استفاده بشه
ی مقدار قبلتر هم که همگی روی ruff و mypy رفته بودیم و pre-commit رو اینطوری تنظیم کردیم.

دیگه یکی از هم تیمی‌ها پیشنهاد داد یعنی یه uv مون نشه ؟

که سوییچ کردیم روی این مورد (البته قبلش کلی تست زمان build, ... ازش گرفتیم) دیدیم علاوه بر اینکه تایم بیلد رو آورد پایین‌تر (حتی تو بیلدهای اپتیمایز خودم) کار کردن باهاش هم نسبت به ورژن‌های قبلی خیلی بهتر و راحت‌تر شده.

اگر شما هم میخواید تستش کنید؛ من دستورات مهمش رو میذارم برای شروع برید سراغش باقی موارد هم که داکیومنت خودش هست :

uv python list
لیست از تمام ورژن‌های پایتون قابل نصب رو نشون میده؛ cpython, pypy رو داره.
uv python install 3.11 3.12 3.13 3.14
تمام ورژن‌های پایتون که بهشون اشاره شده رو نصب می‌کنه (حدود ۳۰-۳۵ مگ هست هر کدوم) دیفالت cpython نصب میشه.

uv init <dir_name>
این دستور پوشه <dir_name> رو براتون میسازه به همراه git, python version, readme, main, pyproject

uv init <dir_name> --lib
اگر خواستید پکیج برای انتشار بنویسید.
uv init
اگر مثل ما پروژه از قبل با مثلا pip ایجاد شده و می‌خواید بیاید روی uv داخل پوشه پروژه اجراش کنید.
uv add dajngo
پکیج django رو می‌خوام به پروژه اضافه کنم؛ حتی اگر .venv نساخته باشید این دستور بصورت پیشفرض اینکار رو براتون می‌کنه؛ که اشتباها روی python سیستم چیزی نصب نکنید.

uv tree
نمایش درختی معادل pip freeze هست.
uv run main.py
برای اجرا استفاده میشه (حتی اگر .venv رو پاک کرده باشید درجا ایجاد می‌کنه پکیج‌هارو نصب می‌کنه و بعد اجرا می‌کنه که اگر cache رو پاک نکرده باشید در حد میلی ثانیه زمان میبره)

uv venv --python 3.11.11
برای اینکه دقیقا از همین ورژن پایتون استفاده بشه (کلا توی همه کامندها می‌تونید از --python برای مشخص کردن ورژن دقیق استفاده کنید)
این دستور بهترین دستور برای بچه‌هایی هست که در زمینه AI تحقیق و کار می‌کنند.
uv sync
فقط .venv رو ایجاد و پکیج‌ها رو نصب می‌کنه (همه چیز آماده)
uv remove dajngo
برای حذف استفاده میشه.
uv add -r requirements.txt
جهت انتقال از pip به uv
uvx ruff
جایگزین عالی برای pipx
uv tool run ruff check
بدون اینکه ruff رو روی کل سیستم نصب کنید می‌تونید اجرا کنید
نکته این هست که uvx , uv tool دستورات یکسان هست و دستور بالا اینو می‌گه که نیازی نیست ابزار رو روی کل سیستم نصب کنی می‌تونی درجا اجرا و استفاده کنی؛ pipx اینو نداره که خیلی هم کاربردی هست.
uv self update
در نهایت برای آپدیت خود uv ازش استفاده کنید.


برای پروژه‌های غیر docker و شخصی هم خیلی خوبه چون disk کمتری مصرف می‌کنه (دوستان AI میدونند توی هر پروژه ورژن متفاوت pytorch و ... داشتن چقدر جا میگیره) یا حتی یک ورژن یکسان رو هی روی venv جدا نصب کردن. که uv اینکارو نمی‌کنه و به همون نسخه‌ای که دارید symlink میزنه. (بصورت دیفالت hardlink میزنه؛ دوستان اشاره کردند)


الان تنها مورد کند پروژه‌ای که صحبتش شد mypy هست که خب منتظریم ببینیم ty وضعیتش به کجا خواهد رسید بخصوص اینکه LSP هم هست و یک تیر و دو نشان خواهد بود.

ty github



tg-me.com/pyHints/823
Create:
Last Update:

یکی از پروژه‌ها رو جابجا کردیم و اینطوری شد که:

بجای docker از podman استفاده بشه
بجای docker swarm, docker stack, ... هم از k8s استفاده بشه
ی مقدار قبلتر هم که همگی روی ruff و mypy رفته بودیم و pre-commit رو اینطوری تنظیم کردیم.

دیگه یکی از هم تیمی‌ها پیشنهاد داد یعنی یه uv مون نشه ؟

که سوییچ کردیم روی این مورد (البته قبلش کلی تست زمان build, ... ازش گرفتیم) دیدیم علاوه بر اینکه تایم بیلد رو آورد پایین‌تر (حتی تو بیلدهای اپتیمایز خودم) کار کردن باهاش هم نسبت به ورژن‌های قبلی خیلی بهتر و راحت‌تر شده.

اگر شما هم میخواید تستش کنید؛ من دستورات مهمش رو میذارم برای شروع برید سراغش باقی موارد هم که داکیومنت خودش هست :

uv python list
لیست از تمام ورژن‌های پایتون قابل نصب رو نشون میده؛ cpython, pypy رو داره.
uv python install 3.11 3.12 3.13 3.14
تمام ورژن‌های پایتون که بهشون اشاره شده رو نصب می‌کنه (حدود ۳۰-۳۵ مگ هست هر کدوم) دیفالت cpython نصب میشه.

uv init <dir_name>
این دستور پوشه <dir_name> رو براتون میسازه به همراه git, python version, readme, main, pyproject

uv init <dir_name> --lib
اگر خواستید پکیج برای انتشار بنویسید.
uv init
اگر مثل ما پروژه از قبل با مثلا pip ایجاد شده و می‌خواید بیاید روی uv داخل پوشه پروژه اجراش کنید.
uv add dajngo
پکیج django رو می‌خوام به پروژه اضافه کنم؛ حتی اگر .venv نساخته باشید این دستور بصورت پیشفرض اینکار رو براتون می‌کنه؛ که اشتباها روی python سیستم چیزی نصب نکنید.

uv tree
نمایش درختی معادل pip freeze هست.
uv run main.py
برای اجرا استفاده میشه (حتی اگر .venv رو پاک کرده باشید درجا ایجاد می‌کنه پکیج‌هارو نصب می‌کنه و بعد اجرا می‌کنه که اگر cache رو پاک نکرده باشید در حد میلی ثانیه زمان میبره)

uv venv --python 3.11.11
برای اینکه دقیقا از همین ورژن پایتون استفاده بشه (کلا توی همه کامندها می‌تونید از --python برای مشخص کردن ورژن دقیق استفاده کنید)
این دستور بهترین دستور برای بچه‌هایی هست که در زمینه AI تحقیق و کار می‌کنند.
uv sync
فقط .venv رو ایجاد و پکیج‌ها رو نصب می‌کنه (همه چیز آماده)
uv remove dajngo
برای حذف استفاده میشه.
uv add -r requirements.txt
جهت انتقال از pip به uv
uvx ruff
جایگزین عالی برای pipx
uv tool run ruff check
بدون اینکه ruff رو روی کل سیستم نصب کنید می‌تونید اجرا کنید
نکته این هست که uvx , uv tool دستورات یکسان هست و دستور بالا اینو می‌گه که نیازی نیست ابزار رو روی کل سیستم نصب کنی می‌تونی درجا اجرا و استفاده کنی؛ pipx اینو نداره که خیلی هم کاربردی هست.
uv self update
در نهایت برای آپدیت خود uv ازش استفاده کنید.


برای پروژه‌های غیر docker و شخصی هم خیلی خوبه چون disk کمتری مصرف می‌کنه (دوستان AI میدونند توی هر پروژه ورژن متفاوت pytorch و ... داشتن چقدر جا میگیره) یا حتی یک ورژن یکسان رو هی روی venv جدا نصب کردن. که uv اینکارو نمی‌کنه و به همون نسخه‌ای که دارید symlink میزنه. (بصورت دیفالت hardlink میزنه؛ دوستان اشاره کردند)


الان تنها مورد کند پروژه‌ای که صحبتش شد mypy هست که خب منتظریم ببینیم ty وضعیتش به کجا خواهد رسید بخصوص اینکه LSP هم هست و یک تیر و دو نشان خواهد بود.

ty github

BY Python Hints


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyHints/823

View MORE
Open in Telegram


Python Hints Telegram | DID YOU KNOW?

Date: |

Can I mute a Telegram group?

In recent times, Telegram has gained a lot of popularity because of the controversy over WhatsApp’s new privacy policy. In January 2021, Telegram was the most downloaded app worldwide and crossed 500 million monthly active users. And with so many active users on the app, people might get messages in bulk from a group or a channel that can be a little irritating. So to get rid of the same, you can mute groups, chats, and channels on Telegram just like WhatsApp. You can mute notifications for one hour, eight hours, or two days, or you can disable notifications forever.

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

Python Hints from fr


Telegram Python Hints
FROM USA